//
//  UIViewController+MiniApp.h
//  MiniAppSDK
//
//  Created by zilinzhou on 2018/12/25.
//

#import <UIKit/UIKit.h>
#import "MAUIConfig.h"


NS_ASSUME_NONNULL_BEGIN

@class MABaseApplication;
@class MATabViewController;

@protocol QMAViewControllerDelegate <NSObject>

@required
@property (nonatomic, assign) MANavTextStyle ma_navTextStyle;

@end

@interface UIViewController (MiniApp)

@property (nullable, nonatomic) MATabViewController *ma_tabViewController;

- (void)ma_createRightBtnWithApplication:(MABaseApplication *)application
                                 pageURL:(NSString *)pageURL;

- (void)ma_createLeftBtnWithImage:(UIImage *)image
                           action:(SEL)action;

- (void)ma_createRightBtnWithImage:(UIImage *)image
                            action:(SEL)action;

- (void)ma_configNavigationTextStyleWithApplication:(MABaseApplication *)application
                                            pageURL:(NSString *)pageURL;

- (void)ma_dismissAllModalViewControllerAnimated:(BOOL)animated;

- (void)ma_dismissAllModalViewControllerAnimated:(BOOL)animated completion:(void (^ _Nullable)(void))completion;

- (void)ma_dismissSelfAndAllModalViewControllerAnimated:(BOOL)animated completion:(void (^ _Nullable)(void))completion;

- (void)ma_updateAioButton:(MABaseApplication *)app;

- (void)ma_forceBlackTitleWhiteBackgroundNavStyleWithLeftBtnSelector:(SEL)leftBtnClickedSEL;

@end

NS_ASSUME_NONNULL_END
